iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 14
0
Modern Web

從零開始認識 Node.js系列 第 14

[Day 14] API 尋寶記 - File System

  • 分享至 

  • xImage
  •  

Two

前言

Node.js 可以借重 C / C++ 分散 Node.js 的負擔,也可以借 File 存 / 讀資料,這篇就主角就是 File System。

[來源] File System 檔案系統

使用 File System 需載入 fs Module ( const fs = require('fs'); ),以下就介紹幾個常用的 Function

| Function | 說明 | 同步 |
|---|---|
| fs.access(path[, mode], callback) | 檢查對檔案的權限 ( Permissions ) ,官方不建議在 fs.openfs.readFilefs.writeFile 前使用,原因是會它們有可以改變檔案權限的能力;此外官方也建議使用這個和 fs.lstat 來檢查檔案是否存在,而過去常用的 fs.exists 已被棄用,只留下同步版的 fs.existsSync | fs.accessSync(path[, mode]) |
| fs.open(path, flags[, mode], callback) | 讀取檔案夾 | fs.openSync(path, flags[, mode]) |
| fs.readFile(file[, options], callback) | 讀取檔案 | fs.readFileSync(file[, options]) |
| fs.mkdir(path[, mode], callback) | 新增資料夾 | fs.mkdirSync(path[, mode]) |
| fs.rmdir(path, callback) | 刪除資料夾 | fs.rmdirSync(path) |
| fs.link(path, dstpath, callback) | 新增檔案 | fs.linkSync(path, dstpath) |
| fs.unlink(path, callback) | 刪除檔案 | fs.unlinkSync(path) |

以上是比較常用的,有寫檔案需求可以看 fs.write() 等 write 函式,我只用過一次;若需要對檔案進行多次的 讀取 (Read)寫入 (Write) ,官方強烈建議要設定對應的 fs.createReadStreamfs.createWriteStream

補充:可以配合之前提到的 __dirname 使用 ( [Day 10] API 尋寶記 - 不知不覺都會用到的 Global )。

參考資料

  1. IT笔录 - Node.js文件系统模块fs创建可读流与可写流:fs.createReadStream()和fs. createWriteStream()
  2. 電腦故我在 - node.js教學-使用檔案系統

上一篇
[Day 13] API 尋寶記 - 推拉高手 Events
下一篇
[Day 15] API 尋寶記 - 現代人離不開的 HTTP
系列文
從零開始認識 Node.js31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
fillano
iT邦超人 1 級 ‧ 2016-12-14 09:16:42

__driname?好像有拼錯XD

Ivan Wei iT邦新手 5 級 ‧ 2016-12-14 09:37:31 檢舉

真的 XD

我要留言

立即登入留言